Datenmodellierung in der Anwendungsentwicklung mit NoSQL-Datenbanken
نویسنده
چکیده
NoSQL-Datenbanken sind gerade in der Webentwicklung zunehmend beliebt. Oft sind es die großen Datenmengen, die es zu verwalten gilt, mitunter sind diese Systeme aber auch wegen ihrer Schema-Flexibilität für agile Entwicklungsteams interessant. Indem viele NoSQL-Datenbanken keine Unterstützung für die Definition, Einhaltung und Wartung eines globalen Schemas bieten, verlagern sich klassische Aufgaben des Datenbankmanagementsystems in die Anwendungssoftware. Dieser Vortrag gibt einen Überblick über konkrete Herausforderungen, die sich in der Praxis beim Entwurf eines Datenmodells für Key-Valueund Dokumenten-Datenbanken ergeben. Dazu zählen eine Modellierung, die atomare Updates ermöglicht, das Vermeiden von Hot-Spot-Datenobjekten, wie sie durch hochfrequente, parallele Schreibzugriffe gegen dasselbe Objekt verursacht werden, sowie Strategien zum Umgang mit kontinuierlicher Schema-Evolution. Der Vortrag zeigt auf, dass gerade die Datenbank-Community mit ihrem Erfahrungsschatz im Schema-Management und ihrem breiten Fundus an formalen Methoden hier einen wertvollen Beitrag leisten kann. Während der letzten Jahrzehnte wurde die Architektur von Desktopund Webanwendungen nahezu ausnahmslos von relationaler Datenbanktechnologie dominiert. Es gibt jedoch Sparten, in denen NoSQL-Datenbanksysteme eine attraktive Alternative darstellen. Unter dem Begriff “NoSQL” tummelt sich mittlerweile ein bunter Zoo von Systemen. So sehr sich die einzelnen Produkte voneinander unterscheiden, so zeichnen sie sich typischerweise in den “3 Vs” aus: Volume, die Fähigkeit, auf große Datenmengen zu skalieren, Velocity, die Fähigkeit, laufend neu hinzukommende Datensätze zu verarbeiten, und Variety, die Fähigkeit, mit stark heterogenen Datenstrukturen zu arbeiten. Unabhängig davon, welches “V” letztlich bei der Entscheidung für eine NoSQL-Datenbank maßgeblich ist, stellen sich in der Anwendungsentwicklung gegen diese Systeme Herausforderungen, auf die das grundständige Informatikstudium oft nur ungenügend vorbereitet [ST14b]. Dieser Vortrag gibt einen Überblick über die gängigen Pain Points in der Datenmodellierung bei der Anwendungsentwicklung gegen NoSQL-Datenbanksysteme, wie etwa Key-Valueund Dokumenten-Datenbanken: • Transaktionen mit ACID-Verhalten sind in Systemen, die darauf ausgelegt sind, auf zehntausenden physischen Knoten verteilt zu laufen, nicht uneingeschränkt möglich. Naiv entwickelte Anwendungen zeigen daher oft Eventual Consistency-Effekte, welche zu erheblichen Irritationen bei den Anwendern führen können. So sind eben vollzogene Änderungen an Daten, z.B. nach Ausfüllen eines Formulars, womöglich nicht unmittelbar sichtbar.
منابع مشابه
Big-Data-Anwendungsentwicklung mit SQL und NoSQL
Bei der Verarbeitung und Auswertung von Big Data stoßen klassische relationale Datenbanken an ihre Grenzen. So ist die Speicherung von Daten im Multi-Terabyte-Bereich damit zwar möglich, aber in der Regel aufgrund der Lizenzund Speicherkosten unwirtschaftlich. Datenanalysen, bei denen große Datenbereiche gelesen werden müssen, erfordern darüber hinaus cluster-fähige Systeme für die Skalierung.
متن کاملEin Eclipse-Plugin zur kontrollierten Schema-Evolution im NoSQL Datenbanksystem MongoDB
Schemafreie NoSQL-Datenbanken wie MongoDB bieten in der Softwareentwicklung groûe Flexibilität. Dies ist vor allem in der agilen Softwareentwicklung sehr nützlich, bei der die Software früh veröffentlicht und in kurzen Abständen aktualisiert wird. Des Weiteren werden in der professionellen Anwendungsentwicklung gerne Objektmapper als Bindestück zwischen einer objektorientierten Sprache und dem ...
متن کاملSkalierbare NoSQL- und Cloud-Datenbanken in Forschung und Praxis
Die rasante Entwicklung nicht-relationaler, verteilter NoSQL Datenbanksysteme hat in den letzten Jahren einen beispiellosen Aufschwung erlebt. Zwei zentrale Probleme haben diesen Prozess angestoßen: die gewaltigen Mengen von ” Usergenerated-Content“ in modernen Anwendungen und die damit einhergehenden Anfragelasten und Datenvolumnia, sowie der Ruf von Entwicklern nach problemspezifischen Datenm...
متن کاملOpen Source Graphdatenbanken - Konzepte und Klassifikation
In der jüngsten Vergangenheit hat es im Datenbankmarkt einen Paradigmenwechsel gegeben. Haben über viele Jahre relationale Datenbanken den Markt klar beherrscht und jede Art von Daten abgespeichert (" One Size Fits All "), so sind unter dem Begriff NoSQL (Not only SQL) eine ganze Reihe von neuartigen Systemen entstanden. Eine besondere Kategorie von NoSQL-Datenbanken sind Graphdatenbanken. Eine...
متن کاملVerbindung relationaler Datenbanksysteme und NoSQL-Produkte
In den letzten Jahren entstanden verschiedene Open-SourceSysteme, die mit fundamentalen Konzepten und Regeln relationaler Datenbanksysteme brachen, um die Verwaltung von Daten in speziellen Einsatzbereichen zu optimieren. Die wesentlichen Gründe für die Entwicklung dieser so genannten NoSQL-Systeme sind jedoch nicht SQL oder das relationale Datenbankmodell, sondern sie ist auf die Implementieru...
متن کامل